package com.example.aigc_education.exception;


/**
 * UtilException类是RuntimeException的一个子类，用于处理工具类中的异常情况。
 * 这个类提供了几个构造函数，允许在不同情况下抛出异常，并附带相关的错误信息或导致异常的原因。
 */
public class UtilException extends RuntimeException
{
    private static final long serialVersionUID = 8247610319171014183L; // 异常类的序列化ID

    /**
     * 构造函数，接收一个Throwable对象作为参数。
     * @param e 导致异常的Throwable对象。
     */
    public UtilException(Throwable e)
    {
        super(e.getMessage(), e); // 初始化父类构造函数，传递异常消息和导致异常的原因
    }

    /**
     * 构造函数，接收一个字符串消息作为参数。
     * @param message 异常的消息描述。
     */
    public UtilException(String message)
    {
        super(message); // 初始化父类构造函数，传递异常消息
    }

    /**
     * 构造函数，接收一个字符串消息和一个Throwable对象作为参数。
     * @param message 异常的消息描述。
     * @param throwable 导致异常的Throwable对象。
     */
    public UtilException(String message, Throwable throwable)
    {
        super(message, throwable); // 初始化父类构造函数，传递异常消息和导致异常的原因
    }
}

